package com.atguigu.mp.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;


@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("user")//mp用来指定javabean类名绑定的表名，如果表名和类名一样 ，可以省略
public class User {
    /*
    * 默认：type = IdType.ASSIGN_ID  （雪花算法）
    * 使用UUid：type = IdType.ASSIGN_UUID
    * 使用数据库自增：type = IdType.AUTO  数据库表必须是自增列
    * */
    @TableId(value = "id",type = IdType.ASSIGN_ID)//指定当前表的主键列  对应的bean的属性
    private Long id;
   // @TableField(value = "name")//指定当前表的其他列 和 bean的对应的属性
    private String name;
    private Integer age;
    private String email;
    @TableField(fill = FieldFill.INSERT)//表示User类执行 新增时 回调insert回调方法
    private Date gmtCreate;
    @TableField(fill = FieldFill.INSERT_UPDATE)//表示新增，更新都回调
    private Date gmtModified;


    // 逻辑删除字段
    @TableField (value = "is_deleted")//0 代表为删除
    @TableLogic//表示逻辑删除字段
    private Boolean deleted;
}